<?php
/**
 * 公共方法
 */
namespace App;

class Common
{
    /**
     * 检测JSON合法
     * @param $string
     * @return string
     */
    public static function is_json($string) {
        json_decode($string);

        if (json_last_error() == JSON_ERROR_NONE){
            return '';
        }
        if (json_last_error() == JSON_ERROR_DEPTH){
            return 'JSON 到达了最大堆栈深度 ';
        }
        if (json_last_error() == JSON_ERROR_STATE_MISMATCH){
            return 'JSON 无效或异常的';
        }
        if (json_last_error() == JSON_ERROR_CTRL_CHAR){
            return 'JSON 控制字符错误，可能是编码不对';
        }
        if (json_last_error() == JSON_ERROR_SYNTAX){
            return 'JSON 语法错误';
        }
    }

    public static function http_request($url, $data = null)
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        if(!empty($data)) {
            if (is_array($data)){
                $data = json_encode($data);
            }
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        $output = curl_exec($curl);
        curl_close($curl);
        return json_decode($output, true);
    }
}